/* 坐标 */
#ifndef __POINT_H__
#define __POINT_H__

#include "Global.h"

// 坐标
class Point
{
public:
    // 无参构造
    Point() : x(0), y(0) {}
    // 带参构造
    Point(int x, int y) : x(x), y(y){}
    // 比较两个Point对象是否相等
    // 如果两个Point对象的x和y成员变量都相等，则认为它们相等
    bool operator==(const Point &p)
    {
        return x == p.x && y == p.y;
    }

    void up() { if(y >= 1) y--; }   // 上移
    void down() { y++; }            // 下移
    void left() { if(x >= 1) x--; } // 左移
    void right() { x++; }           // 右移

    DEFINE_MEMBER(x, int);
    DEFINE_MEMBER(y, int);
};

#endif